Apriori
-------
['A','B','C'],
['B', 'C', 'D'],
['C', 'D'],
['A', 'B', 'D', 'E'],
['A', 'E'],
['A', 'B', 'C', 'E'],
['C', 'D', 'E'],
['E', 'F'],
['B', 'E', 'F'],
['B', 'C', 'D', 'E'],
	
	
Apriori - Iteration 1
('A',) 0.40 
('B',) 0.60 
('C',) 0.60 
('D',) 0.50 
('E',) 0.70 
('F',) 0.20 X
Apriori - Iteration 2
('A', 'B') 0.30 
('A', 'C') 0.20 X
('A', 'D') 0.10 X
('A', 'E') 0.30 
('B', 'C') 0.40 
('B', 'D') 0.30 
('B', 'E') 0.40 
('C', 'D') 0.40 
('C', 'E') 0.30 
('D', 'E') 0.30 
Apriori - Iteration 3
('A', 'B', 'E') 0.20 X
('B', 'C', 'D') 0.20 X
('B', 'C', 'E') 0.20 X
('B', 'D', 'E') 0.20 X
('C', 'D', 'E') 0.20 X

min_sup=0.3
min_conf=0.7

('A',) --> ('B',) conf: 0.75  lift: 1.25
('A',) --> ('E',) conf: 0.75  lift: 1.07
('B',) --> ('A',) conf: 0.50 X 
('B',) --> ('C',) conf: 0.67 X 
('B',) --> ('D',) conf: 0.50 X 
('B',) --> ('E',) conf: 0.67 X 
('C',) --> ('B',) conf: 0.67 X 
('C',) --> ('D',) conf: 0.67 X 
('C',) --> ('E',) conf: 0.50 X 
('D',) --> ('B',) conf: 0.60 X 
('D',) --> ('C',) conf: 0.80  lift: 1.33
('D',) --> ('E',) conf: 0.60 X 
('E',) --> ('A',) conf: 0.43 X 
('E',) --> ('B',) conf: 0.57 X 
('E',) --> ('C',) conf: 0.43 X 
('E',) --> ('D',) conf: 0.43 X 


Classification Tree
-------------------
20,F,10G,YES
32,F,10G,NO
35,F,10G,NO
20,F,2G,YES
25,M,2G,YES
50,M,10G,YES
62,M,2G,NO
35,F,10G,NO
62,F,2G,NO
45,M,2G,YES

Root
Parent
	1 - 5/10 = 5/10
Age# ['<=20', '>20']
	<=20 2
		YES, 2/2
		1 - 2/2 = 0/2
	>20 8
		NO, 5/8
		YES, 3/8
		1 - 5/8 = 3/8
	(3/8 * 8/10) + (0/2 * 2/10) = 3/10
	Delta Gain: 5/10 - 3/10 = 2/10

Age# ['<=25', '>25']
	<=25 3
		YES, 3/3
		1 - 3/3 = 0/3
	>25 7
		NO, 5/7
		YES, 2/7
		1 - 5/7 = 2/7
	(0/3 * 3/10) + (2/7 * 7/10) = 2/10
	Delta Gain: 5/10 - 2/10 = 3/10

Age# ['<=32', '>32']
	<=32 4
		NO, 1/4
		YES, 3/4
		1 - 3/4 = 1/4
	>32 6
		NO, 4/6
		YES, 2/6
		1 - 4/6 = 2/6
	(2/6 * 6/10) + (1/4 * 4/10) = 3/10
	Delta Gain: 5/10 - 3/10 = 2/10

Age# ['<=35', '>35']
	<=35 6
		NO, 3/6
		YES, 3/6
		1 - 3/6 = 3/6
	>35 4
		NO, 2/4
		YES, 2/4
		1 - 2/4 = 2/4
	(3/6 * 6/10) + (2/4 * 4/10) = 5/10
	Delta Gain: 5/10 - 5/10 = 0/10

Age# ['<=45', '>45']
	<=45 7
		NO, 3/7
		YES, 4/7
		1 - 4/7 = 3/7
	>45 3
		NO, 2/3
		YES, 1/3
		1 - 2/3 = 1/3
	(1/3 * 3/10) + (3/7 * 7/10) = 4/10
	Delta Gain: 5/10 - 4/10 = 1/10

Age# ['<=50', '>50']
	<=50 8
		NO, 3/8
		YES, 5/8
		1 - 5/8 = 3/8
	>50 2
		NO, 2/2
		1 - 2/2 = 0/2
	(0/2 * 2/10) + (3/8 * 8/10) = 3/10
	Delta Gain: 5/10 - 3/10 = 2/10

Sex ['F', 'M']
	F 6
		NO, 4/6
		YES, 2/6
		1 - 4/6 = 2/6
	M 4
		NO, 1/4
		YES, 3/4
		1 - 3/4 = 1/4
	(1/4 * 4/10) + (2/6 * 6/10) = 3/10
	Delta Gain: 5/10 - 3/10 = 2/10

Internet ['10G', '2G']
	10G 5
		NO, 3/5
		YES, 2/5
		1 - 3/5 = 2/5
	2G 5
		NO, 2/5
		YES, 3/5
		1 - 3/5 = 2/5
	(2/5 * 5/10) + (2/5 * 5/10) = 4/10
	Delta Gain: 5/10 - 4/10 = 1/10

--> Split By Age#25 

Root_Age#25?<=25.0
Parent
	1 - 3/3 = 0/3
--> No gain 1. Stop

Root_Age#25?>25.0
Parent
	1 - 5/7 = 2/7
Age# ['<=32', '>32']
	<=32 1
		NO, 1/1
		1 - 1 = 0
	>32 6
		NO, 4/6
		YES, 2/6
		1 - 4/6 = 2/6
	(2/6 * 6/7) + (0 * 1/7) = 2/7
	Delta Gain: 2/7 - 2/7 = 0/7

Age# ['<=35', '>35']
	<=35 3
		NO, 3/3
		1 - 3/3 = 0/3
	>35 4
		NO, 2/4
		YES, 2/4
		1 - 2/4 = 2/4
	(0/3 * 3/7) + (2/4 * 4/7) = 2/7
	Delta Gain: 2/7 - 2/7 = 0/7

Age# ['<=45', '>45']
	<=45 4
		NO, 3/4
		YES, 1/4
		1 - 3/4 = 1/4
	>45 3
		NO, 2/3
		YES, 1/3
		1 - 2/3 = 1/3
	(1/3 * 3/7) + (1/4 * 4/7) = 2/7
	Delta Gain: 2/7 - 2/7 = 0/7

Age# ['<=50', '>50']
	<=50 5
		NO, 3/5
		YES, 2/5
		1 - 3/5 = 2/5
	>50 2
		NO, 2/2
		1 - 2/2 = 0/2
	(0/2 * 2/7) + (2/5 * 5/7) = 2/7
	Delta Gain: 2/7 - 2/7 = 0/7

Sex ['F', 'M']
	F 4
		NO, 4/4
		1 - 4/4 = 0/4
	M 3
		NO, 1/3
		YES, 2/3
		1 - 2/3 = 1/3
	(1/3 * 3/7) + (0/4 * 4/7) = 1/7
	Delta Gain: 2/7 - 1/7 = 1/7

Internet ['10G', '2G']
	10G 4
		NO, 3/4
		YES, 1/4
		1 - 3/4 = 1/4
	2G 3
		NO, 2/3
		YES, 1/3
		1 - 2/3 = 1/3
	(1/3 * 3/7) + (1/4 * 4/7) = 2/7
	Delta Gain: 2/7 - 2/7 = 0/7

--> Split By Sex#F&M 

Root_Age#25?>25.0_Sex#F&M?F
Parent
	1 - 4/4 = 0/4
--> No gain 1. Stop

Root_Age#25?>25.0_Sex#F&M?M
Parent
	1 - 2/3 = 1/3
Age# ['<=45', '>45']
	<=45 1
		YES, 1/1
		1 - 1 = 0
	>45 2
		NO, 1/2
		YES, 1/2
		1 - 1/2 = 1/2
	(1/2 * 2/3) + (0 * 1/3) = 1/3
	Delta Gain: 1/3 - 1/3 = 0/3

Age# ['<=50', '>50']
	<=50 2
		YES, 2/2
		1 - 2/2 = 0/2
	>50 1
		NO, 1/1
		1 - 1 = 0
	(0 * 1/3) + (0/2 * 2/3) = 0/3
	Delta Gain: 1/3 - 0/3 = 1/3

Internet ['10G', '2G']
	10G 1
		YES, 1/1
		1 - 1 = 0
	2G 2
		NO, 1/2
		YES, 1/2
		1 - 1/2 = 1/2
	(1/2 * 2/3) + (0 * 1/3) = 1/3
	Delta Gain: 1/3 - 1/3 = 0/3

--> Split By Age#50 

Root_Age#25?>25.0_Sex#F&M?M_Age#50?<=50.0
Parent
	1 - 2/2 = 0/2
--> No gain 1. Stop

Root_Age#25?>25.0_Sex#F&M?M_Age#50?>50.0
Parent
	1 - 1 = 0
--> No gain 1. Stop


Test
22,M,10G,NO
51,F,2G,NO
29,M,2G,YES
43,F,10G,YES
38,F,2G,YES

Predicted
22,M,10G,NO,YES
51,F,2G,NO,NO
29,M,2G,YES,YES
43,F,10G,YES,NO
38,F,2G,YES,NO

Confusion Matrix
R\P	|NO	|YES|
NO	|1	|1	|
YES	|2	|1	|

Precision 1/2 0.5
Recall 1/3 0.333333333333
F1-measure 2/5 0.4
Accuracy 2/5 0.4